package com.zpb.framework.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.zpb.framework.domain.ApiResult;
import com.zpb.framework.domain.dto.CategoryAddDto;
import com.zpb.framework.domain.dto.CategoryQueryDto;
import com.zpb.framework.domain.dto.CategoryUpdateDto;
import com.zpb.framework.domain.entity.Category;
import com.zpb.framework.domain.vo.CategoryAdminVo;
import com.zpb.framework.domain.vo.CategoryVo;
import com.zpb.framework.domain.vo.PageVo;

import java.util.List;

/**
 * @Description:
 * @Author: zhaopengbo
 * @Date: 2025/9/10
 */
public interface CategoryService extends IService<Category> {
    ApiResult<List<CategoryVo>> getList();

    ApiResult<List<CategoryVo>> getAll();

    List<Category> getCategoryList();

    ApiResult<PageVo> getCategoryPage(Integer pageNum, Integer pageSize, CategoryQueryDto categoryQueryDto);

    ApiResult addCategory(CategoryAddDto categoryAddDto);

    ApiResult<CategoryAdminVo> getCategoryById(Long id);

    ApiResult updateCategory(CategoryUpdateDto categoryUpdateDto);

    ApiResult delCategoryById(Long id);
}
